Python |
您所在的位置:网站首页 › cdo 官网 › Python |
安装步骤总览: 1.先安装cdo package(使用.tar.gz安装) 2.再安装 python-cdo (使用conda安装) 背景,在Pycharm中使用 pip install cdo已经成功安装了cdo,但是运行以下代码时: from cdo import * cdo = Cdo() help(cdo.sinfov)仍然显示: “TypeError: expected str, bytes or os.PathLike object, not NoneType”。Google+百度一圈后仍没找到解决方法。 然后参考了气海无涯作者的微信文章(cdo随笔三:Python-cdo之nc文件自动化处理 (qq.com)), “最后,在stack网站上找到了原因,原来在cdo和python之间,还需要一个中间件:python-cdo。我们之前在命令行中执行的cdo和python-cdo是两码事,cdo是一个软件,而python-cdo是Python中的一个库,两者的使用环境不一样。”因此我们需要一个桥梁将Python与cdo连通起来,该桥梁就是“python-cdo” 然后,尝试在pycharm-terminal中 输入 pip install python-cdo返回结果显示 “ERROR: Could not find a version that satisfies the requirement python-cdo (from versions: none) ERROR: No matching distribution found for python-cdo” 根本就没有与之相匹配的版本,因此pip安装行不通。 返回作者公众号文章,作者使用conda进行了安装。但是个人所有package都是采用pip安装,很多知乎大佬强烈建议不要conda和pip 混用(https://www.zhihu.com/question/395145313)。考虑到Python配置环境复杂和折磨,放弃使用conda在自己电脑上安装。 然后使用云服务器网站——和鲸社区(https://www.heywhale.com/)。 首先你先创建一个项目集,服务器资源我选择了“8核32G CPU”,因为之前用较低的版本安装时内存会溢出。镜像源选择的是“气象分析镜像”,尽管网站提示使用conda安装可能会有较多的冲突,但个人实测没问题;如果使用“基础镜像”,则需要install的package会特别多,容易出错。 在启动页处选择Terminal,然后输入 conda install -c conda-forge cdo你会发现巨慢无比,而且很多人使用conda安装cdo时总是卡在 solving environment 这一环节。 所以我结合了上一篇Cartopy安装的教程(Python | Pycharm 安装 Cartopy - 知乎 (zhihu.com)),决定采用.whl或者.tar.gz安装,熟练之后安装时间大概2min左右。 照例打开pypi网站(https://pypi.org/project/pyshp/),搜索cdo,发现是有 cdo-1.5.6.tar.gz 文件的。下载好之后上传到和鲸网站你自己的文件树中,建议直接上传到首页即可,这样后面安装能少输点。 安装cdo具体步骤: 1.1 打开启动页-选择 Terminal 1.2 进入到该安装包所在的文件夹 cd /home/mw1.3 使用pip安装 pip install cdo-1.5.6.tar.gz1.4 安装完成。 之前已经说过了无法使用pip安装python-cdo,因此这一步我们使用conda安装,安装代码如下(https://anaconda.org/conda-forge/python-cdo) BTW,因为网络的原因,可能会显示一直在重试/重连。如果出现上述情况,就把这四条代码都输入试一试(或者都不行就试试挂梯子)实测我使用第4条代码安装成功。 conda install -c "conda-forge/label/cf202003" python-cdo安装python-cdo具体步骤: 2.1 关掉当前terminal,重新打开启动器-新建一个terminal 2.2 输入上述代码(一个不行就换一个) 2.3 可能会提示需要补充安装其他package,选择y即可 2.4 安装完成,出现一系列Done就已经安装完成了 3. 测试 3.1 挂载上传你需要处理的数据集 3.2 新建一个Terminal 3.3 进入存有你.nc文件的文件夹(路径看左侧文件树),使用cd的方式进入该文件夹。 3.4 进入后使用cdo代码规则进行数据预处理即可。 这里就不展示运行的详细数据了,但是实践是完全能够调用cdo的。 强烈推荐: Python+Cdo的具体使用可以参考摸鱼大佬的视频,内容翔实丰富(摸鱼的气象&Python: CDO,Python+CDO和python-cdo_哔哩哔哩_bilibili) 缺点: 1.你需要处理的数据如果较大的话,挂载上传可能会耗费较多时间(不过应该快过百度网盘),应急或者处理较少的数据是可以的。^_^ ref: [1] https://mp.weixin.qq.com/s/-nV4fs9f1IK2IFpmuHI59g [2] https://blog.csdn.net/weixin_44237337/article/details/122360334?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166480450816782248542793%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166480450816782248542793&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-3-122360334-null-null.142^v51^pc_rank_34_2,201^v3^control_2&utm_term=cdo%20%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187 [3] https://www.bilibili.com/video/BV1mg411V7o5/?spm_id_from=333.999.0.0&vd_source=5cc1558c40e6dfb429fc9993f5ef51cc |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |